package cn.kk.jump;
import java.awt.image.BufferedImage;
import java.util.Random;

public abstract class State {
    public static final int LIVE=0;//活着的
    public static final int DEAD=1;//死了的
    public static final int REMOVE=2;//删除的
    protected int state=LIVE;//当前状态(默认为活着的)
    protected int width;//宽
    protected int height;//高
    protected int x;   //x坐标
    protected int y;   //y坐标

    /**判断对象是否活着*/
    public boolean isLive(){
        return state==LIVE;//若当前状态为Live,是活着的
    }
    /**判断对象是否死了的*/
    public boolean isDead(){
        return state==DEAD;//若当前状态为DEAD,表示对象是死了的,返回true;否则为false
    }
    /**判断对象是否删除的*/
    public boolean isRemove(){
        return state==REMOVE;//若当前状态为REMOVE,表示对象是删除的,返回true;否则为false
    }
    /**检测敌人是否越界*/
    public boolean isOutOfBounds(){
            return x >= World.WIDTH || x < 0;//敌人的y>=窗口的高,即为越界了
    }

    /**飞行物移动*/
    public abstract void step();

    /**获取对象的图片 */
    public abstract BufferedImage getImage();
}
